<?php

/**
 * Created by PhpStorm.
 * Author: ls
 * Time: 2023/10/18 10:42
 * Desc:
 */
abstract class Contract_Api_Envelope
{
    /**
     * 获取用户当前产品可用红包数量&列表
     * @param $mid
     * @param $type_id
     * @return array
     */
    abstract function get_enable_envelope($mid, $type_id): array;

    /**
     * 获取会员红包
     * @param $mid
     * @param array $params
     * @return array
     */
    abstract function get_member_envelope($mid, array $params = array()): array;

    /**
     * 获取红包说明
     * @return array
     */
    abstract function get_envelope_description(): array;

    /**
     * 支付成功获取订单的分享红包信息
     * @param $order_sn
     * @return array
     */
    abstract function get_order_envelope_info($order_sn): array;

    /**
     * 领取红包
     * @param $mid
     * @param $envelope_order_id
     * @return array
     * @throws Exception
     */
    abstract function  receive_envelope($mid, $envelope_order_id): array;

}